﻿using System;
using System.Threading.Tasks;

namespace WxLib.QRCode
{
    [Serializable]
    public class RQCodeResponse
    {
        public int errcode { get; set; }

        public string errmsg { get; set; }
    }


    [Serializable]
    public class RQTelCodeResponse
    {
        public int errcode { get; set; }

        public string errmsg { get; set; }

        public int msgid { get; set; }
    }

    public class PustResponse
    {
        public int errcode { get; set; }

        public string errmsg { get; set; }

        public long msgid { get; set; }

        public string PutTime { get; set; }
    }


    public class RQCodeUrlResponse
    {
        /// <summary>
        /// 获取的二维码ticket，凭借此ticket可以在有效时间内换取二维码。
        /// </summary>
        public string ticket { get; set; }

        /// <summary>
        /// 该二维码有效时间，以秒为单位。 最大不超过2592000（即30天）
        /// </summary>
        public long expire_seconds { get; set; }

        /// <summary>
        /// 二维码图片解析后的地址，开发者可根据该地址自行生成需要的二维码图片
        /// </summary>
        public string url { get; set; }

        /// <summary>
        /// 用时间戳生成唯一标识
        /// </summary>
        public string only { get; set; }

        /// <summary>
        /// 关注
        /// </summary>
        public bool IsFollow { get; set; }

        /// <summary>
        /// 素材ID
        /// </summary>
        public string media_id { get; set; }

    }

    /// <summary>
    /// 根据code
    /// </summary>
    [Serializable]
    public class QnCodeResponse
    {
        public int errcode { get; set; }

        public string errmsg { get; set; }

        /// <summary>
        /// 网页授权接口调用凭证,注意：此access_token与基础支持的access_token不同
        /// </summary>
        public string access_token { get; set; }

        /// <summary>
        /// access_token接口调用凭证超时时间，单位（秒）
        /// </summary>
        public int expires_in { get; set; }

        /// <summary>
        /// 用户刷新access_token
        /// </summary>
        public string refresh_token { get; set; }

        /// <summary>
        /// 用户唯一标识，请注意，在未关注公众号时，用户访问公众号的网页，也会产生一个用户和公众号唯一的OpenID
        /// </summary>
        public string openid { get; set; }

        /// <summary>
        /// 用户授权的作用域，使用逗号（,）分隔
        /// </summary>
        public string scope { get; set; }

        public static implicit operator Task<object>(QnCodeResponse v)
        {
            throw new NotImplementedException();
        }
    }
}
